<?php
// 应用公共文件
use think\response\Json;

/**--------------公用函数-----------------------**/

/**
 * ajax请求返回数据
 * @param $code int 0成功，其他值具体应用
 * @param string $msg
 * @param array $data
 * @param string $url
 * @return Json
 */
function ajax_return(int $code, string $msg = '', array $data = [], string $url = ''): Json
{
    $url && $url = (string)url($url);// url返回对象，直接转换类型得到字符串链接
    return json(compact('code', 'msg', 'data', 'url'));
}
function error_json(string $msg = '', array $data = [], int $code = 1)
{
    return ajax_return($code,$msg?:'error',$data);
}
function success_json(string $msg = '', array $data = [], int $code = 0)
{
    return ajax_return($code,$msg?:'success',$data);
}


/**
 * 敏感词过滤
 * @param string
 * @return string
 */
function sensitive_words_filter(string $str): string
{
    if (!$str) {
        return '';
    }
    $file = '.' . STATIC_DIR . 'plug/censor/CensorWords';
    $words = file($file);
    foreach ($words as $word) {
        $word = str_replace(array("\r\n", "\r", "\n", "/", "<", ">", "=", " "), '', $word);
        if (!$word) {
            continue;
        }
        $ret = preg_match("/$word/", $str, $match);
        if ($ret) {
            return $match[0];
        }
    }
    return '';
}